{ 
  { 
    // k extends keyof o，表示k变量需要是o变量里面的属性
    //<o,k>声明多个泛型变量，用','隔开
   function getProps<o,k extends keyof o>(obj:o,key:k){
    return obj[key]
   }
   let obj={
    name:"yx",
    age:18
   }
   console.log(getProps(obj,"name"))
   //报错，因为obj对象里面没有have属性
  //  console.log(getProps(obj,"have")) 
  type o={
    name:string,
    age:number
   }
  let user:keyof o="name"
  console.log(user)
  }
}